讀到 IR 這個 domain 的時候,有一題問的是 containment(圍堵)這一站的目標是什麼?
圍堵的目標是限制損害繼續擴大,服務回不回來,那是後面 recovery(復原)那站的事。
另外一題問「伺服器已經復原到先前狀態,下一步做什麼」,我選了寫報告,正解是先找根因。
盤點錯題的時候我發現,這個 domain 一堆題目都在考「你現在在哪一個階段、這一個階段該做什麼」。
所以這篇就來講這幾個階段。
CySA+ 把事件應變拆成這幾段:Preparation(準備)、Detection and analysis(偵測與分析)、Containment(圍堵)、Eradication and recovery(根除與復原)、Post-incident activity(事後活動)。
我習慣把它拆成六站來記:準備、偵測、圍堵、根除、復原、事後檢討。
我的理解是,每一個階段都有該做的事。
準備是事情還沒發生之前的事。
IR plan 寫好沒、playbook 有沒有、有沒有找大家坐下來跑過一次 tabletop(桌上演練)。
這一站做得怎樣,決定後面幾站跑不跑得動。
出事的時候才開始想「我們的 IR team 是誰」,或者是「負責相關設備的廠商電話是多少」,那就已經太晚了。
偵測與分析是發現有事,然後搞清楚是不是真的有事。
這站有個我後來才想通的地方:不是每件事都要查到底才能往下走。
有些行為本身就夠了。
像一個Web Cam,結果 netstat 一看它在監聽一個非常見的 port,還跟外面某個 IP 建立了連線。
這個行為跟它應有的功能對不上,它應該只能連線到監視主機,不該對外連線,這時候就可以啟動應變了,按照playbook上的步驟一步一步走。
圍堵
目標是止損,不要讓它繼續擴散。
隔離主機、封 C2 的連線、把帳號先鎖起來,都是這站的事。
至於服務有沒有回來,這站不管。
這邊會有一個小小的問題牽扯到後續的取證,當你發現這台主機確認被感染,能不能直接關機?
理論上是不行,因為關機會造成很多volatile evidence,也就是揮發性的證據消失。
根除是把東西清乾淨。
惡意程式、後門、被改掉的設定、被建的帳號,一個一個清掉,甚至是直接reimage。
復原是服務回來,系統回到正常狀態,然後盯著它看會不會再發作。
然後是我讀的時候寫錯的地方:復原完之後,下一步是找根因,不是直接寫報告。
但邏輯其實很單純,報告要寫根因,根因還沒找你要寫什麼。
事後檢討才是最後一站,lessons learned、報告、改流程,那些是這裡的事。
圍堵、根除、復原這三站,考綱是寫在一起的,實際上也常常混在一起做,拆開講只是為了搞清楚每一站的目標是什麼,不是說一定要做完一站才能碰下一站。
這一塊我也錯過,而且錯得很冤。
兩題練習題選項一模一樣,差別只在題目裡的動詞。
一題講的是「可能受影響」「疑似」,另一題講的是「已確認」。
疑似的,先驗證,先把 advisory(公告)轉給對應的團隊,照風險排序。
已確認的,而且是對外主機上的高分漏洞,那就直接把那台先關掉止血。
疑似那題我選了關機,而且兩輪都選一樣的。
後來才學到,先讀清楚題目到底有沒有說「確認了」。
沒確認就直接下線,萬一是誤報,停機造成的損失根據所在產業,如果是產線,那可能是筆不小的數目。
| 階段 | 目標 |
|---|---|
| 準備 | IR plan、playbook、演練,讓後面跑得動 |
| 偵測與分析 | 發現異常、確認是不是真的有事 |
| 圍堵 | 止損,不讓它擴散 |
| 根除 | 把惡意的東西清乾淨 |
| 復原 | 服務回來、回到正常狀態 |
| 復原之後 | 鑑識、找根因 |
| 事後檢討 | lessons learned、報告、改流程 |